package com.sky.vo;

import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 用户收藏图书信息VO（View Object）
 * 用于返回给前端展示的用户收藏图书信息
 * 包含：
 * 1. 收藏相关信息（收藏ID、收藏时间等）
 * 2. 图书基本信息（书名、作者、简介等）
 * 3. 图书详细信息（字数、热度等）
 */
@Data
public class UserCollectionVO implements Serializable {
    
    private static final long serialVersionUID = 1L;

    /**
     * 收藏ID
     * 用于唯一标识一条收藏记录
     */
    private Integer collectionId;

    /**
     * 图书ID
     * 用于唯一标识一本图书
     */
    private Integer bookId;

    /**
     * 收藏时间
     * 用户收藏该图书的时间
     */
    private Date collectionTime;

    /**
     * 书名
     * 图书的标题
     */
    private String title;

    /**
     * 作者
     * 图书的作者姓名
     */
    private String author;

    /**
     * 完结日期
     * 图书完结的时间
     */
    private Date publishDate;

    /**
     * 库存数量
     * 当前图书的可借阅数量
     */
    private Integer stockQuantity;

    /**
     * 简介
     * 图书的简要描述
     */
    private String description;

    /**
     * 封面图片路径
     * 图书封面的URL地址
     */
    private String coverImage;

    /**
     * 热度分数
     * 图书的受欢迎程度，分数越高表示越受欢迎
     */
    private Double popularityScore;

    /**
     * 字数（万字）
     * 图书的总字数，以万字为单位
     */
    private BigDecimal wordCount;
}